package pe.gob.sunat.proyecto.dao;

import java.util.List;

import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;
import org.springframework.stereotype.Repository;

import com.ibatis.sqlmap.client.SqlMapClient;

import pe.gob.sunat.proyecto.model.Usuario;

@Repository
public class UsuarioDaoIbatis extends SqlMapClientDaoSupport implements
		UsuarioDao {
	private Logger logger = Logger.getLogger(UsuarioDaoIbatis.class);

	@Autowired
	public UsuarioDaoIbatis(SqlMapClient sqlMapClient) {
		setSqlMapClient(sqlMapClient);
	}

	@Override
	public Usuario getUsuarioPorUsername(String username) {
		logger.debug("Inicio getUsuarioPorUsername");
		return (Usuario) getSqlMapClientTemplate().queryForObject(
				"getUsuarioPorUsername", username);
	}

	@SuppressWarnings("unchecked")
	@Override
	public List<Usuario> getUsuarios() {
		return getSqlMapClientTemplate().queryForList("getUsuarios");
	}

	@Override
	public void registrar(Usuario usuario) {
		getSqlMapClientTemplate().insert("registrar", usuario);
	}

	@Override
	public void eliminar(String username) {
		getSqlMapClientTemplate().delete("eliminar", username);
		
	}
}
